package com.googlecode.controlecheque.listener;

import android.content.Context;
import android.text.Spanned;
import android.text.method.DigitsKeyListener;

public class DecimalKeyListener extends DigitsKeyListener {
	
	private Context contexto;
	
	public DecimalKeyListener(Context contexto){
		super();
		this.contexto = contexto;
	}  
	
	@Override
	public CharSequence filter(CharSequence source, int start, int end,
			Spanned dest, int dstart, int dend) {
		return source;
	}
	
//	@Override
//	public CharSequence filter(CharSequence source, int start, int end,
//			Spanned dest, int dstart, int dend) {
//		String caracterDigitado = source.toString();
//		boolean isCaracterNumerico = TextoUtil.isNumeroInteiro(caracterDigitado);
//		String valorValidado = "";
//		if(isCaracterNumerico){
//			valorValidado = caracterDigitado;
//		}
//		else{
//			valorValidado = null;
//		}
//		return valorValidado;
//	}
	
//	@Override
//	public CharSequence filter(CharSequence source, int start, int end,
//			Spanned dest, int dstart, int dend) {
//		DecimalFormatSymbols dfSym = new DecimalFormatSymbols();
//		StringBuilder valoratual = new StringBuilder(dest.toString());
//		String separadorDecimal = String.valueOf(dfSym.getDecimalSeparator());
//		String valor = (String) source;
//		StringBuilder novoValor = new StringBuilder(valor);
//		StringBuilder valorFinal = new StringBuilder("");
//		if(valoratual.length()==0){
//			valorFinal.append("0");
//			valorFinal.append(separadorDecimal);  
//			valorFinal.append("0");
//			valorFinal.append(novoValor);
//			return valorFinal.toString();
//		}
//		else{
//			Locale locale = this.contexto.getResources().getConfiguration().locale;
//			NumberFormat nf = NumberFormat.getInstance(locale);
//			Double valorNumerico =0d;
//			Double proximoValorNumerico = 0d;
//			try {
//				valorNumerico = nf.parse(valoratual.toString()).doubleValue();
//				proximoValorNumerico = valorNumerico*10;
//				Double valorNumericoDigitado = nf.parse(novoValor.toString()).doubleValue();
//				proximoValorNumerico = proximoValorNumerico + (valorNumericoDigitado/100);
//			} catch (ParseException e) {
//				// TODO Auto-generated catch block
//			}
////			DecimalFormat df = (DecimalFormat) DecimalFormat.getInstance(locale);
//			DecimalFormat df = new DecimalFormat("###.##");
//			String valorFinalFormatado = df.format(proximoValorNumerico);
//			CharSequence cs = valorFinalFormatado;
//			return valorFinalFormatado;
//		}
//	}

}
